package com.emcom.gotour.po;

import java.io.Serializable;
import java.math.BigDecimal;
import java.sql.Timestamp;
import org.apache.commons.lang.builder.CompareToBuilder;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.ToStringBuilder;

/**
 * database table TOUR_CONTENT bean.<br/>
 * @author Cui Zuoli
 * @version 1.0
 */
public class TourContent implements Comparable<Object>, Serializable {
	/**
	 * 
	 */
	private static final long serialVersionUID = -1345023404878991073L;
	private long id;
	private String typeId;
	private String category;
	private String subject;
	private String aim;
	private String characteristic;
	private String location;
	private int days;
	private BigDecimal cost;
	private String costComments;
	private String costStandard;
	private String costNotice;
	private String attention;
	private String statement;
	private String comments;
	private String isAd;
	private String adImageUrl;
	private String isImage;
	private String imageUrl;
	private String imageUrl1;
	private String imageUrl2;
	private String imageUrl3;
	private String imageUrl4;
	private Timestamp inputDate;
	private Timestamp updateDate;
	public long getId() {
		return id;
	}
	public void setId(long id) {
		this.id = id;
	}
	public String getTypeId() {
		return typeId;
	}
	public void setTypeId(String typeId) {
		this.typeId = typeId;
	}
	public String getCategory() {
		return category;
	}
	public void setCategory(String category) {
		this.category = category;
	}
	public String getSubject() {
		return subject;
	}
	public void setSubject(String subject) {
		this.subject = subject;
	}
	public String getAim() {
		return aim;
	}
	public void setAim(String aim) {
		this.aim = aim;
	}
	public String getCharacteristic() {
		return characteristic;
	}
	public void setCharacteristic(String characteristic) {
		this.characteristic = characteristic;
	}
	public String getLocation() {
		return location;
	}
	public void setLocation(String location) {
		this.location = location;
	}
	public int getDays() {
		return days;
	}
	public void setDays(int days) {
		this.days = days;
	}
	public BigDecimal getCost() {
		return cost;
	}
	public void setCost(BigDecimal cost) {
		this.cost = cost;
	}
	public String getCostComments() {
		return costComments;
	}
	public void setCostComments(String costComments) {
		this.costComments = costComments;
	}
	public String getCostStandard() {
		return costStandard;
	}
	public void setCostStandard(String costStandard) {
		this.costStandard = costStandard;
	}
	public String getCostNotice() {
		return costNotice;
	}
	public void setCostNotice(String costNotice) {
		this.costNotice = costNotice;
	}
	public String getAttention() {
		return attention;
	}
	public void setAttention(String attention) {
		this.attention = attention;
	}
	public String getStatement() {
		return statement;
	}
	public void setStatement(String statement) {
		this.statement = statement;
	}
	public String getComments() {
		return comments;
	}
	public void setComments(String comments) {
		this.comments = comments;
	}
	public String getIsAd() {
		return isAd;
	}
	public void setIsAd(String isAd) {
		this.isAd = isAd;
	}
	public String getAdImageUrl() {
		return adImageUrl;
	}
	public void setAdImageUrl(String adImageUrl) {
		this.adImageUrl = adImageUrl;
	}
	public String getIsImage() {
		return isImage;
	}
	public void setIsImage(String isImage) {
		this.isImage = isImage;
	}
	public String getImageUrl() {
		return imageUrl;
	}
	public void setImageUrl(String imageUrl) {
		this.imageUrl = imageUrl;
	}
	public String getImageUrl1() {
		return imageUrl1;
	}
	public void setImageUrl1(String imageUrl1) {
		this.imageUrl1 = imageUrl1;
	}
	public String getImageUrl2() {
		return imageUrl2;
	}
	public void setImageUrl2(String imageUrl2) {
		this.imageUrl2 = imageUrl2;
	}
	public String getImageUrl3() {
		return imageUrl3;
	}
	public void setImageUrl3(String imageUrl3) {
		this.imageUrl3 = imageUrl3;
	}
	public String getImageUrl4() {
		return imageUrl4;
	}
	public void setImageUrl4(String imageUrl4) {
		this.imageUrl4 = imageUrl4;
	}
	public Timestamp getInputDate() {
		return inputDate;
	}
	public void setInputDate(Timestamp inputDate) {
		this.inputDate = inputDate;
	}
	public Timestamp getUpdateDate() {
		return updateDate;
	}
	public void setUpdateDate(Timestamp updateDate) {
		this.updateDate = updateDate;
	}
	/**
	 * @see java.lang.Comparable#compareTo(Object)
	 */
	public int compareTo(Object object) {
		TourContent myClass = (TourContent) object;
		return new CompareToBuilder().append(this.costStandard,
				myClass.costStandard).append(this.costNotice,
				myClass.costNotice).append(this.location, myClass.location)
				.append(this.isAd, myClass.isAd).append(this.imageUrl,
						myClass.imageUrl).append(this.subject, myClass.subject)
				.append(this.isImage, myClass.isImage).append(this.id,
						myClass.id).append(this.imageUrl4, myClass.imageUrl4)
				.append(this.attention, myClass.attention).append(
						this.inputDate, myClass.inputDate).append(
						this.adImageUrl, myClass.adImageUrl).append(
						this.imageUrl3, myClass.imageUrl3).append(this.cost,
						myClass.cost).append(this.imageUrl2, myClass.imageUrl2)
				.append(this.costComments, myClass.costComments).append(
						this.imageUrl1, myClass.imageUrl1).append(
						this.updateDate, myClass.updateDate).append(
						this.statement, myClass.statement).append(
						this.category, myClass.category).append(this.days,
						myClass.days).append(this.aim, myClass.aim).append(
						this.characteristic, myClass.characteristic).append(
						this.typeId, myClass.typeId).append(this.comments,
						myClass.comments).toComparison();
	}
	/**
	 * @see java.lang.Object#equals(Object)
	 */
	public boolean equals(Object object) {
		if (!(object instanceof TourContent)) {
			return false;
		}
		TourContent rhs = (TourContent) object;
		return new EqualsBuilder().appendSuper(super.equals(object)).append(
				this.costStandard, rhs.costStandard).append(this.costNotice,
				rhs.costNotice).append(this.location, rhs.location).append(
				this.isAd, rhs.isAd).append(this.imageUrl, rhs.imageUrl)
				.append(this.subject, rhs.subject).append(this.isImage,
						rhs.isImage).append(this.id, rhs.id).append(
						this.imageUrl4, rhs.imageUrl4).append(this.attention,
						rhs.attention).append(this.inputDate, rhs.inputDate)
				.append(this.adImageUrl, rhs.adImageUrl).append(this.imageUrl3,
						rhs.imageUrl3).append(this.cost, rhs.cost).append(
						this.imageUrl2, rhs.imageUrl2).append(
						this.costComments, rhs.costComments).append(
						this.imageUrl1, rhs.imageUrl1).append(this.updateDate,
						rhs.updateDate).append(this.statement, rhs.statement)
				.append(this.category, rhs.category)
				.append(this.days, rhs.days).append(this.aim, rhs.aim).append(
						this.characteristic, rhs.characteristic).append(
						this.typeId, rhs.typeId).append(this.comments,
						rhs.comments).isEquals();
	}
	/**
	 * @see java.lang.Object#hashCode()
	 */
	public int hashCode() {
		return new HashCodeBuilder(-92789307, -738236843).appendSuper(
				super.hashCode()).append(this.costStandard).append(
				this.costNotice).append(this.location).append(this.isAd)
				.append(this.imageUrl).append(this.subject)
				.append(this.isImage).append(this.id).append(this.imageUrl4)
				.append(this.attention).append(this.inputDate).append(
						this.adImageUrl).append(this.imageUrl3).append(
						this.cost).append(this.imageUrl2).append(
						this.costComments).append(this.imageUrl1).append(
						this.updateDate).append(this.statement).append(
						this.category).append(this.days).append(this.aim)
				.append(this.characteristic).append(this.typeId).append(
						this.comments).toHashCode();
	}
	/**
	 * @see java.lang.Object#toString()
	 */
	public String toString() {
		return new ToStringBuilder(this).append("isAd", this.isAd).append(
				"updateDate", this.updateDate).append("inputDate",
				this.inputDate).append("statement", this.statement).append(
				"typeId", this.typeId).append("imageUrl", this.imageUrl)
				.append("characteristic", this.characteristic).append("cost",
						this.cost).append("isImage", this.isImage).append(
						"days", this.days).append("costStandard",
						this.costStandard).append("id", this.id).append(
						"adImageUrl", this.adImageUrl).append("comments",
						this.comments).append("imageUrl4", this.imageUrl4)
				.append("imageUrl3", this.imageUrl3).append("imageUrl2",
						this.imageUrl2).append("subject", this.subject).append(
						"imageUrl1", this.imageUrl1).append("attention",
						this.attention).append("location", this.location)
				.append("category", this.category).append("costNotice",
						this.costNotice).append("aim", this.aim).append(
						"costComments", this.costComments).toString();
	}
}